package pr2.mutacion;

import pr2.cromosoma.CromosomaPVC;

public class MutacionIntercambio implements EstrategiaMutacion<CromosomaPVC> {

	@Override
	public void muta(CromosomaPVC cromosoma, double prob) {

		double probabilidad = Math.random();
		Integer pos1 = 0;
		Integer pos2 = 0;
		Integer aux;

		if (probabilidad <= prob) {

			pos1 = new Double(Math.random() * cromosoma.getFenotipo().size())
					.intValue();
			pos2 = new Double(Math.random() * cromosoma.getFenotipo().size())
					.intValue();

			aux = cromosoma.getFenotipo().get(pos1);

			cromosoma.getFenotipo()
					.set(pos1, cromosoma.getFenotipo().get(pos2));
			cromosoma.getFenotipo().set(pos2, aux);
		}

	}
}
